import pandas as pd
import os

def create_cluster_mmsi_pairs(directory_path, output_file):
    """
    从一个目录中的多个CSV文件中读取MMSI列表，根据文件名分配集群ID，并将合并的列表保存到一个CSV文件中。

    参数：
    directory_path (str): 包含集群CSV文件的目录路径。
    output_file (str): 保存合并的MMSI-集群对CSV的路径。
    """
    # 定义文件名到集群ID的映射
    cluster_mapping = {
        'trajectories_area_01.png_class_0_1.csv': 0,
        'trajectories_area_01.png_class_0_2.csv': 1,
        'cluster_1.csv': 2,
        'cluster_2.csv': 3,
        'cluster_3.csv': 4,
        'cluster_4.csv': 5,
        'cluster_5.csv': 6,
        'cluster_6.csv': 7
    }

    mmsi_cluster_pairs = []

    # 遍历每个文件并分配适当的集群ID
    for file_name, cluster_id in cluster_mapping.items():
        file_path = os.path.join(directory_path, file_name)
        if os.path.exists(file_path):
            df = pd.read_csv(file_path)
            # 假设每个文件中都有一个名为'MMSI'的列
            for mmsi in df['MMSI']:
                mmsi_cluster_pairs.append((mmsi, cluster_id))

    # 将对列表转换为DataFrame
    mmsi_cluster_df = pd.DataFrame(mmsi_cluster_pairs, columns=['MMSI', 'Cluster'])
    # 保存到CSV
    mmsi_cluster_df.to_csv(output_file, index=False)

create_cluster_mmsi_pairs("Data/DTW/CSJ/New_Human_Trajectories", "Data/DTW/CSJ/New_Human_Trajectories/cluster_mmsi_pairs.csv")
